﻿using Mes.Application.DTO.Inputs.WorkOrders;
using Mes.Application.DTO.Results.WorkOrders;
using Mes.Domain.BoundedContext;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Mes.Application.Services.WorkOrders
{
    public interface IJobService
    {
        Task AddJobAsync(AddingJobInput input);

        Task UpdateJobAsync(UpdatingJobInput input);

        Task<JobDetailsResult> GetJobAsync(GettingJobInput input);

        Task DeleteJobAsync(DeletingJobInput input);

        /// <summary>
        /// 分页查询所有工单下的作业，按照工单和作业的顺序排序
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        Task<PagedItemsData<GettingJobQueueResult>> GetJobQueueAsync(GettingJobQueueInput input);
    }
}
